<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>fdk-aac: original/libSBRenc/src/sbrenc_ram.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">fdk-aac
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_ed137715e08969a186ec660e8ae6e2fb.html">original</a></li><li class="navelem"><a class="el" href="dir_ed04b364c633b7d989cbbfdbe7d82d9c.html">libSBRenc</a></li><li class="navelem"><a class="el" href="dir_503efe22260b46e9073f09b8bee50978.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">sbrenc_ram.cpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Memory layout.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="sbrenc__ram_8h_source.html">sbrenc_ram.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="sbr_8h_source.html">sbr.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="generic_stds_8h_source.html">genericStds.h</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">StaticSbrData</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp375bd824b16d28c060c116c3047b049a"></a>Static memory areas, must not be overwritten in other sections of the encoder </p>
</td></tr>
<tr class="memitem:a89c248f91392b48d561c9ec35dd819ac"><td class="memItemLeft" align="right" valign="top"><a id="a89c248f91392b48d561c9ec35dd819ac"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>FIXP_DBL</b></td></tr>
<tr class="separator:a89c248f91392b48d561c9ec35dd819ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecadf933393bd7ff4d91c2568e12e876"><td class="memItemLeft" align="right" valign="top"><a id="aecadf933393bd7ff4d91c2568e12e876"></a>
MAX_NO_OF_ESTIMATES SECT_DATA_L1&#160;</td><td class="memItemRight" valign="bottom"><b>UCHAR</b></td></tr>
<tr class="separator:aecadf933393bd7ff4d91c2568e12e876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0582902558e6ff864fff28c0859dbfe2"><td class="memItemLeft" align="right" valign="top"><a id="a0582902558e6ff864fff28c0859dbfe2"></a>
MAX_NO_OF_ESTIMATES SECT_DATA_L1&#160;</td><td class="memItemRight" valign="bottom"><b>MAX_FREQ_COEFFS</b></td></tr>
<tr class="separator:a0582902558e6ff864fff28c0859dbfe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb1b68228f8b3a221a64e3aabd5cd181"><td class="memItemLeft" align="right" valign="top">MAX_NO_OF_ESTIMATES SECT_DATA_L1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbrenc__ram_8cpp.html#abb1b68228f8b3a221a64e3aabd5cd181">C_ALLOC_MEM2</a> (Ram_Sbr_signMatrix, <a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a>,(MAX_NO_OF_ESTIMATES *64),(8)) C_ALLOC_MEM2(Ram_Sbr_freqBandTableLO</td></tr>
<tr class="separator:abb1b68228f8b3a221a64e3aabd5cd181"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b22b98d87ee0e0e199db56e3d1139df"><td class="memItemLeft" align="right" valign="top">MAX_NO_OF_ESTIMATES SECT_DATA_L1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbrenc__ram_8cpp.html#a3b22b98d87ee0e0e199db56e3d1139df">C_ALLOC_MEM2</a> (Ram_Sbr_freqBandTableHI, <a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a>,(MAX_FREQ_COEFFS+1),(8)) C_ALLOC_MEM2(Ram_Sbr_v_k_master</td></tr>
<tr class="separator:a3b22b98d87ee0e0e199db56e3d1139df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabc3ba094de6c268163e17a8282f1962"><td class="memItemLeft" align="right" valign="top">MAX_NO_OF_ESTIMATES SECT_DATA_L1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbrenc__ram_8cpp.html#aabc3ba094de6c268163e17a8282f1962">C_ALLOC_MEM2</a> (Ram_Sbr_detectionVectors, <a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a>,(MAX_NO_OF_ESTIMATES *MAX_FREQ_COEFFS),(8)) C_ALLOC_MEM2(Ram_Sbr_guideVectorDetected</td></tr>
<tr class="separator:aabc3ba094de6c268163e17a8282f1962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae55f032976eae7eb3d84ff353c53c690"><td class="memItemLeft" align="right" valign="top"><a id="ae55f032976eae7eb3d84ff353c53c690"></a>
MAX_NO_OF_ESTIMATES SECT_DATA_L1 MAX_NO_OF_ESTIMATES&#160;</td><td class="memItemRight" valign="bottom"><b>C_ALLOC_MEM2</b> (Ram_Sbr_guideVectorDiff, FIXP_DBL,(MAX_NO_OF_ESTIMATES *MAX_FREQ_COEFFS),(8)) C_ALLOC_MEM2(Ram_Sbr_guideVectorOrig</td></tr>
<tr class="separator:ae55f032976eae7eb3d84ff353c53c690"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">DynamicSbrData</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrped95ee0d04e7c1e31af6247420e88390"></a>Dynamic memory areas, might be reused in other algorithm sections, e.g. the core encoder. </p>
</td></tr>
<tr class="memitem:abda6e4971b78be8b6d994c15af44865d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>dynamic_RAM</b></td></tr>
<tr class="separator:abda6e4971b78be8b6d994c15af44865d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af56987fb4c042e8fc5d71c5253e144d2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sbrenc__ram_8cpp.html#af56987fb4c042e8fc5d71c5253e144d2">C_ALLOC_MEM2</a> (Ram_Sbr_envYBuffer, FIXP_DBL,(32/2 *64),(8)) FIXP_DBL *GetRam_Sbr_envYBuffer(int n</td></tr>
<tr class="separator:af56987fb4c042e8fc5d71c5253e144d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0496ae0d3a9404d3289060f1a6e3aca"><td class="memItemLeft" align="right" valign="top"><a id="ac0496ae0d3a9404d3289060f1a6e3aca"></a>
return&#160;</td><td class="memItemRight" valign="bottom"><b>reinterpret_cast&lt; FIXP_DBL * &gt;</b> (reinterpret_cast&lt; void * &gt;(dynamic_RAM+OFFSET_NRG+(n *Y_2_BUF_BYTE)))</td></tr>
<tr class="separator:ac0496ae0d3a9404d3289060f1a6e3aca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4be72da5d950f54193070c40cda920c7"><td class="memItemLeft" align="right" valign="top"><a id="a4be72da5d950f54193070c40cda920c7"></a>
FIXP_DBL *&#160;</td><td class="memItemRight" valign="bottom"><b>GetRam_Sbr_envRBuffer</b> (int n, <a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a> *dynamic_RAM)</td></tr>
<tr class="separator:a4be72da5d950f54193070c40cda920c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a910fa6fe3255e3dbdffd9c380469dc46"><td class="memItemLeft" align="right" valign="top"><a id="a910fa6fe3255e3dbdffd9c380469dc46"></a>
FIXP_DBL *&#160;</td><td class="memItemRight" valign="bottom"><b>GetRam_Sbr_envIBuffer</b> (int n, <a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a> *dynamic_RAM)</td></tr>
<tr class="separator:a910fa6fe3255e3dbdffd9c380469dc46"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Memory layout. </p>
<dl class="section rcs"><dt>Revision</dt><dd>92864 </dd></dl>
<p>This module declares all static and dynamic memory spaces </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="aabc3ba094de6c268163e17a8282f1962"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabc3ba094de6c268163e17a8282f1962">&#9670;&nbsp;</a></span>C_ALLOC_MEM2() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MAX_NO_OF_ESTIMATES SECT_DATA_L1 C_ALLOC_MEM2 </td>
          <td>(</td>
          <td class="paramtype">Ram_Sbr_detectionVectors&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a>&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">(MAX_NO_OF_ESTIMATES *MAX_FREQ_COEFFS)&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">(8)&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>sbr_detectionVectors <br  />
 Dimension #MAX_NUM_CHANNELS*#MAX_NO_OF_ESTIMATES*#MAX_FREQ_COEFFS]</p>
<p>sbr_prevCompVec[ <br  />
 Dimension #MAX_NUM_CHANNELS*#MAX_FREQ_COEFFS]</p>
<p>sbr_guideScfb[ <br  />
 Dimension #MAX_NUM_CHANNELS*#MAX_FREQ_COEFFS]</p>
<p>sbr_guideVectorDetected <br  />
 Dimension #MAX_NUM_CHANNELS*#MAX_NO_OF_ESTIMATES*#MAX_FREQ_COEFFS] </p>

</div>
</div>
<a id="af56987fb4c042e8fc5d71c5253e144d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af56987fb4c042e8fc5d71c5253e144d2">&#9670;&nbsp;</a></span>C_ALLOC_MEM2() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">C_ALLOC_MEM2 </td>
          <td>(</td>
          <td class="paramtype">Ram_Sbr_envYBuffer&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FIXP_DBL&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">(32/2 *64)&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">(8)&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Energy buffer for envelope extraction <br  />
 Dimension #MAXNRSBRCHANNELS * +#SBR_QMF_SLOTS * #SBR_QMF_CHANNELS </p>

</div>
</div>
<a id="a3b22b98d87ee0e0e199db56e3d1139df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b22b98d87ee0e0e199db56e3d1139df">&#9670;&nbsp;</a></span>C_ALLOC_MEM2() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MAX_NO_OF_ESTIMATES SECT_DATA_L1 C_ALLOC_MEM2 </td>
          <td>(</td>
          <td class="paramtype">Ram_Sbr_freqBandTableHI&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a>&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">(MAX_FREQ_COEFFS+1)&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">(8)&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Frequency band table (high res) <br  />
 Dimension #MAX_FREQ_COEFFS +1</p>
<p>vk matser table <br  />
 Dimension #MAX_FREQ_COEFFS +1 </p>

</div>
</div>
<a id="abb1b68228f8b3a221a64e3aabd5cd181"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb1b68228f8b3a221a64e3aabd5cd181">&#9670;&nbsp;</a></span>C_ALLOC_MEM2() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MAX_NO_OF_ESTIMATES SECT_DATA_L1 C_ALLOC_MEM2 </td>
          <td>(</td>
          <td class="paramtype">Ram_Sbr_signMatrix&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="machine__type_8h.html#a4cf9af43a95c45c3d469658098dfbe1a">INT</a>&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">(MAX_NO_OF_ESTIMATES *64)&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">(8)&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Matrix holding the sign values for all estimates, all channels Dimension #MAXNRSBRCHANNELS * +#SBR_QMF_CHANNELS* #MAX_NO_OF_ESTIMATES</p>
<p>Frequency band table (low res) <br  />
 Dimension #MAX_FREQ_COEFFS/2+1 </p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="abda6e4971b78be8b6d994c15af44865d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abda6e4971b78be8b6d994c15af44865d">&#9670;&nbsp;</a></span>dynamic_RAM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="machine__type_8h.html#aed5a2dbe32af3a91203f0f5e8697e873">UCHAR</a>* dynamic_RAM</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">{</div>
<div class="line">  FDK_ASSERT(dynamic_RAM != 0)</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
